//
//  SISSNetworkingManager+HouseProgress.h
//  SISSAPP
//
//  Created by 优房网 on 2017/8/24.
//  Copyright © 2017年 优房网. All rights reserved.
//

#import "SISSNetworkingManager.h"

#import "SISSHouseProgressRecordInfoModel.h"
#import "SISSCommentModel.h"
#import "SISSSellerEntrustContractModel.h"
#import "SISSHouseTakeLookModel.h"
#import "SISSHouseTakeLookDetailModel.h"
#import "SISSBrokerInfoModel.h"
#import "SISSSellerInfoModel.h"
#import "SISSHouseConditionInfoModel.h"
#import "SISSGuaranteeCompanyModel.h"
#import "SISSReserveCommissionedNotaryModel.h"
#import "SISSEscrowAccountInfoModel.h"
#import "SISSOrganApprovalModel.h"
#import "SISSRepaymentRedemptionModel.h"
#import "SISSObtainEvidenceEnrollModel.h"
#import "SISSBusinessContractNotaryModel.h"
#import "SISSEscrowTrawInfoModel.h"
#import "SISSHouseManualModel.h"


@interface SISSNetworkingManager (HouseProgress)

/**
 4.2.1 删除房源进度信息 GET请求
 
 @param ahbpId 房源进度id
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)deleteHouseProgressWithHouseAhbpId:(NSString *)ahbpId successBlock:(void (^)(id responseObject))successBlock failed:(void (^)(NSError *error))failedBlock;

/**
 4.4.1 获取房源进度记录时间和id信息 GET请求
 
 @param ahbpId 房源进度id
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)requestHouseProgressRecordInfoWithAhbpId:(NSString *)ahbpId
                                                   success:(void(^)(SISSHouseProgressRecordInfoModel *progressInfoModel))successBlock
                                                    failed:(void(^)(NSError *error))failedBlock;

/**
 4.23.1  获取房源推荐的客源信息 GET请求

 @param ahbpId 房源进度id
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)requestHouseRecommendPassengerWithAhbpId:(NSString *)ahbpId success:(void(^)(NSArray<SISSPassengerResourceModel *> *passengerResourceArr))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 4.25.1.1 获取房源带看记录 GET请求
 
 @param ahbpId 房源进度id
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)requestHouseTakelookRecordWithAhbpId:(NSString *)ahbpId success:(void(^)(NSArray<SISSHouseTakeLookModel *> *takeLookArr))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 4.25.1.2 获取房源带看记录详情 GET请求
 
 @param ID 带看记录id
 @param type type
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)requestHouseTakelookDetailWithId:(NSString *)ID type:(NSInteger)type success:(void(^)(SISSHouseTakeLookDetailModel *takeLookDetail))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 4.25.1.3.1  获取带看经纪人评价卖家 GET请求
 
 @param atlrId 带看id
 @param takelookType 线上线下类型
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)requestCommentTakeLookBrokerCommentSellerInfoWithAtlrId:(NSString *)atlrId takelookType:(NSInteger)takelookType success:(void(^)(NSArray<SISSCommentModel *> *commentArr))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 4.25.1.3.2  获取带看卖家评价经纪人 GET请求
 
 @param atlrId 带看id
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)requestCommentTakeLookSellerCommentBrokerInfoWithAtlrId:(NSString *)atlrId success:(void(^)(NSArray<SISSCommentModel *> *commentArr))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 4.25.1.4  经纪人评价卖家
 
 @param parameters 参数
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)insertBrokerCommentSellerWithParameters:(NSDictionary *)parameters success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 4.25.1.5  删除房源进度带看记录 GET请求
 
 @param ID 带看记录id
 @param type type
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)deleteHouseTakelookWithId:(NSString *)ID type:(NSInteger)type success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 4.29.1 添加房源进度委托合同 (图文上传)
 
 @param parameters 上传参数
 @param images 上传图片
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)insertHouseEntrustContractWithParameters:(NSDictionary *)parameters images:(NSArray<UIImage *> *)images success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 4.26.1.2 获取卖家委托合同卖家信息 GET请求
 
 @param ahbpId 房源进度id
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)requestHouseProgressSellerCommissionContractSellerInfoWithAhbpId:(NSString *)ahbpId success:(void(^)(SISSSellerInfoModel *sellerInfoModel))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 4.31.1 获取房屋状况说明书列表 GET请求
 
 @param ahrId 房源id
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)requestHouseProgressHouseStatusManualListAhrId:(NSString *)ahrId success:(void(^)(NSArray<SISSHouseConditionInfoModel *> *houseConditionInfoArr))successBlock failed:(void(^)(NSError *error))failedBlock;


/**
 4.31.2 添加房屋状况说明书  (图文上传)
 
 @param parameters 上传参数
 @param images 上传合同文本图片
 @param houseImages 上传房屋图片
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)insertHouseStatusManualInfoWithParameters:(NSDictionary *)parameters images:(NSArray<UIImage *> *)images houseImages:(NSArray<UIImage *> *)houseImages success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 4.31.3 获取房屋状况说明书 GET请求
 
 @param ID 房屋状况说明书id
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)requestHouseProgressHouseManualWithId:(NSString *)ID success:(void(^)(SISSHouseManualModel *houseManualModel))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 4.31.4 更新房屋状况说明书 (图文上传) PUT请求
 
 @param parameters 上传参数
 @param images 上传合同文本图片
 @param houseImages 上传房屋图片
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)updateHouseStatusManualInfoWithParameters:(NSDictionary *)parameters images:(NSArray<UIImage *> *)images houseImages:(NSArray<UIImage *> *)houseImages success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 4.32.1.1 获取经纪人评价卖家的记录 GET请求
 
 @param ahbpId 房源进度id
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)requestCommentBrokerCommentSellerInfoWithAhbpId:(NSString *)ahbpId success:(void(^)(NSArray<SISSCommentModel *> *commentArr))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 4.32.1.2 获取卖家评价经纪人的记录 GET请求
 
 @param ahbpId 房源进度id
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)requestCommentSellerCommentBrokerInfoWithAhbpId:(NSString *)ahbpId success:(void(^)(NSArray<SISSCommentModel *> *commentArr))successBlock failed:(void(^)(NSError *error))failedBlock;


/**
 4.33.1 设置交易客源 GET请求

 @param parameters 参数
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)confirmTradeDemandWithParameters:(NSDictionary *)parameters success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 4.33.2 获取交易客户 GET请求
 
 @param ahbpId 房源进度id
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)requestTradeBuyerInfoWithAhbpId:(NSString *)ahbpId success:(void(^)(SISSPassengerResourceModel *buerInfoModel))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 4.38.1 获取告知书卖家信息(线下)
 
 @param ID 告知书id
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)requestImportNotiOfflineSellerInfoWithID:(NSString *)ID success:(void(^)(SISSSellerInfoModel *sellerInfoModel))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 4.25.1 添加房源带看记录  (图文上传)
 
 @param parameters 上传参数
 @param images 上传图片
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)insertHouseProgressTakeLookWithParameters:(NSDictionary *)parameters images:(NSArray<UIImage *> *)images success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 4.1.26.1 插入担保机构

 @param parameters 参数 ahbpId organAddress organName soId spId
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)insertGuaranteeOrganInfoWithParamters:(NSDictionary *)parameters success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 4.1.26.2 获取担保机构 GET请求
 
 @param ahbpId 房源进度id
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)requestGuaranteeOrganInfoWithAhbpId:(NSString *)ahbpId success:(void(^)(SISSGuaranteeCompanyModel *model))successBlock failed:(void(^)(NSError *error))failedBlock;
/**
 4.1.26.3 修改担保机构 PUT请求
 
 @param parameters 参数
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)updateGuaranteeOrganInfoWithParamters:(NSDictionary *)parameters success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 4.1.27.1 插入房源进度公证信息

 @param parameters 参数
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)insertNotaryInfoWithParamters:(NSDictionary *)parameters success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 4.1.27.2 获取房源进度公证信息 GET请求
 
 @param ahbpId 房源进度id
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)requestNotaryInfoWithAhbpId:(NSString *)ahbpId success:(void(^)(SISSReserveCommissionedNotaryModel *notaryModel))successBlock failed:(void(^)(NSError *error))failedBlock;
/**
 4.1.27.3 修改房源进度公证信息 PUT
 
 @param parameters 参数
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)updateNotaryInfoWithParamters:(NSDictionary *)parameters success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;
/**
 4.1.27.4 上传公证文件
 
 @param ID 公证信息id
 @param images 图片
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)insertNotaryInfoFileWithID:(NSString *)ID images:(NSArray<UIImage *> *)images success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 4.1.28.1 插入进度资金监管信息
 
 @param parameters 参数
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)insertFundSupervisionInfoWithParamters:(NSDictionary *)parameters success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;
/**
 4.1.28.2 获取进度资金监管信息 GET请求
 
 @param ahbpId 房源进度id
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)requestFundSupervisionInfoWithAhbpId:(NSString *)ahbpId success:(void(^)(SISSEscrowAccountInfoModel *ecrowAccountInfoModel))successBlock failed:(void(^)(NSError *error))failedBlock;
/**
 4.1.28.3 修改进度资金监管信息 PUT
 
 @param parameters 参数
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)updateFundSupervisionInfoWithParamters:(NSDictionary *)parameters success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 4.1.29.1 插入房源进度担保公司批单信息
 
 @param parameters 参数
 @param images 图片
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)insertOrganApprovalInfoWithParamters:(NSDictionary *)parameters images:(NSArray<UIImage *> *)images success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;
/**
 4.1.29.2 获取房源进度担保公司批单信息 GET请求
 
 @param ahbpId 房源进度id
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)requestOrganApprovalInfoWithAhbpId:(NSString *)ahbpId success:(void(^)(SISSOrganApprovalModel *organApprovalModel))successBlock failed:(void(^)(NSError *error))failedBlock;
/**
 4.1.29.3 修改房源进度担保公司批单信息 PUT
 
 @param parameters 参数
 @param images 图片
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)updateOrganApprovalInfoWithParamters:(NSDictionary *)parameters images:(NSArray<UIImage *> *)images success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 4.1.30.1 插入还款赎楼信息
 
 @param parameters 参数
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)insertRepaymentInfoWithParamters:(NSDictionary *)parameters success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;
/**
 4.1.30.2 获取还款赎楼信息 GET请求
 
 @param ahbpId 房源进度id
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)requestRepaymentInfoWithAhbpId:(NSString *)ahbpId success:(void(^)(SISSRepaymentRedemptionModel *repaymentRedemptionModel))successBlock failed:(void(^)(NSError *error))failedBlock;
/**
 4.1.30.3 修改还款赎楼信息 PUT
 
 @param parameters 参数
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)updateRepaymentInfoWithParamters:(NSDictionary *)parameters success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 4.1.31.1 插入取旧证注销抵押信息
 
 @param parameters 参数
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)insertMortgageInfoWithParamters:(NSDictionary *)parameters success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;
/**
 4.1.31.2 获取取旧证注销抵押信息 GET请求
 
 @param ahbpId 房源进度id
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)requestMortgageInfoWithAhbpId:(NSString *)ahbpId success:(void(^)(SISSObtainEvidenceEnrollModel *mortgageInfoModel))successBlock failed:(void(^)(NSError *error))failedBlock;
/**
 4.1.31.3 修改取旧证注销抵押信息 PUT
 
 @param parameters 参数
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)updateMortgageInfoWithParamters:(NSDictionary *)parameters success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 4.1.32.1 插入买卖合同公证信息
 
 @param parameters 参数
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)insertBusinessContractNotaryInfoWithParamters:(NSDictionary *)parameters success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;
/**
 4.1.32.2 获取买卖合同公证信息 GET请求
 
 @param ahbpId 房源进度id
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)requestBusinessContractNotaryInfoWithAhbpId:(NSString *)ahbpId success:(void(^)(SISSBusinessContractNotaryModel *businessContractNotaryModel))successBlock failed:(void(^)(NSError *error))failedBlock;
/**
 4.1.32.3 修改买卖合同公证信息 PUT
 
 @param parameters 参数
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)updateBusinessContractNotaryInfoWithParamters:(NSDictionary *)parameters success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;
/**
 4.1.32.4 上传买卖合同公证文件息(图文上传)
 
 @param ID 公证信息id
 @param images 图片
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)insertBusinessContractNotaryInfoFileWithID:(NSString *)ID images:(NSArray<UIImage *> *)images success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;
/**
 4.1.33.1 插入过户登记预约信息
 
 @param parameters 参数
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)insertTransferReservationInfoWithParamters:(NSDictionary *)parameters success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;
/**
 4.1.33.2 获取过户登记预约信息 GET请求
 
 @param ahbpId 房源进度id
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)requestTransferReservationInfoWithAhbpId:(NSString *)ahbpId success:(void(^)(SISSBusinessContractNotaryModel *transferReservationModel))successBlock failed:(void(^)(NSError *error))failedBlock;
/**
 4.1.33.3 修改过户登记预约信息 PUT
 
 @param parameters 参数
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)updateTransferReservationInfoWithParamters:(NSDictionary *)parameters success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 4.1.34.1 插入解冻信息
 
 @param parameters 参数
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)insertThawInfoWithParamters:(NSDictionary *)parameters success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;
/**
 4.1.34.2 获取解冻信息 GET请求
 
 @param ahbpId 房源进度id
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)requestEscrowTrawnInfoWithAhbpId:(NSString *)ahbpId success:(void(^)(SISSEscrowTrawInfoModel *escrowTrawInfoModel))successBlock failed:(void(^)(NSError *error))failedBlock;
/**
 4.1.34.3 修改解冻信息 PUT
 
 @param parameters 参数
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)updateThawInfoWithParamters:(NSDictionary *)parameters success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 4.1.35.1 插入交房信息
 
 @param parameters 参数
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)insertHandHouseInfoWithParamters:(NSDictionary *)parameters success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 4.2.36.1 获取卖家信息 GET请求
 
 @param ahbpId 房源进度id
 @param houseType house_type
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)requestProgressSellerInfoWithAhbpId:(NSString *)ahbpId houseType:(NSInteger)houseType success:(void(^)(SISSSellerInfoModel *sellerInfoModel))successBlock failed:(void(^)(NSError *error))failedBlock;

@end
